// Represents a predefined version type. Also contains
// a map of predefined version types
class VersionType {
	final int typeId
  final String command
  final String subdir
  final String colorProfile

  VersionType(int typeId, String command, String name, String colorProfile) {
    this.typeId = typeId
    this.command = command
    this.subdir = name
    this.colorProfile = colorProfile
  }

  public static final def PredefinedVersions = [
    (0): new VersionType(0, '-resize 120x120> -filter Lanczos -strip -channel Luminosity -sharpen 1.0x1.0 -auto-orient -quality 85', 'thumbnail', ''),
    (1): new VersionType(1, '-resize 800x800> -filter Lanczos -strip -channel Luminosity -sharpen 1.0x1.0 -auto-orient -quality 90', 'medium', 'srgb.icc'),
    (2): new VersionType(2, '-resize 1024x1024> -filter Lanczos -strip -channel Luminosity -sharpen 1.0x1.0 -auto-orient -quality 90', 'large', 'srgb.icc')
  ]
}